package com.itheima.springboot_22_task.config;

import com.itheima.springboot_22_task.quartz.MyQuartz;
import org.quartz.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration //spring根据这个注解,加载配置对象 //这个注释是用来表示,这个类是项目的配置类,它里面有个种配置
public class QuartzConfig {
    //实现一个Bean对象
    @Bean
    public JobDetail printJobDetail(){ //这是工作明细,有可能计划任务在启动的那一刻要执行一组任务,而非单独一个任务.所以这是一个清单
        return JobBuilder.newJob(MyQuartz.class).storeDurably().build();
    }

    //也是实现一个Bean对象,从而被配置对象俘获
    @Bean
    public Trigger printJobTrigger(){ //触发器,检查条件是否要执行任务列表 Job Detail
        ScheduleBuilder scheduleBuilder=CronScheduleBuilder.cronSchedule("0/5 * * * * ?");//秒，分，时，天，月，周 周不写,则根据天自动计算;5秒一次
        return TriggerBuilder.newTrigger().forJob(printJobDetail()).withSchedule(scheduleBuilder).build();
    }
}
